<?php
include 'config.php';

// Dohvat najvećeg broja ulaza za tekuću godinu
$query = "SELECT MAX(broj_ulaza) AS last_ulaz 
          FROM ulaz_zaglavlje 
          WHERE godina = YEAR(CURDATE())";
$result = $conn->query($query);
$row = $result->fetch_assoc();
$broj_ulaza = $row['last_ulaz'] ? $row['last_ulaz'] + 1 : 1;

// Godina
$godina = date("Y");

// Dohvat dobavljača
$dobavljaci = $conn->query("SELECT id_dobavljaca, naziv_dobavljaca FROM dobavljac");

// Dohvat grupa
$grupe = $conn->query("SELECT id_grupe, naziv_grupe FROM grupa_artikala");
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Ulaz robe</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        table { width: 100%; border-collapse: collapse; margin-top: 10px; }
        th, td { border: 1px solid black; padding: 5px; text-align: center; }
        th { background-color: #f2f2f2; }
    </style>
</head>
<div style="text-align: center; margin: 40px 0;">
    <a href="index.php" style="display: inline-block; padding: 15px 30px; background: #27ae60; color: white; text-decoration: none; border-radius: 8px; box-shadow: 0 3px 6px rgba(0,0,0,0.16);">
        ← Vratite se na početnu
    </a>
</div>
<body>

<h2 style="text-align:center;">ULAZ ROBE</h2>
<p style="text-align:center;">
   Broj ulaza: <strong><?= $broj_ulaza . '/' . $godina; ?></strong>
</p>

<!-- Forma koja šalje POST na unesi_ulaz.php -->
<form method="POST" action="unesi_ulaz.php">
    <!-- Skriveno, da proslijedimo broj_ulaza i godinu -->
    <input type="hidden" name="broj_ulaza" value="<?= $broj_ulaza; ?>">
    <input type="hidden" name="godina" value="<?= $godina; ?>">

    <label>Datum ulaza:</label>
    <input type="date" name="datum_ulaza" required>

    <label>Dobavljač:</label>
    <select name="dobavljac" required>
        <option value="">-- Odaberi dobavljača --</option>
        <?php while ($r = $dobavljaci->fetch_assoc()) { ?>
            <option value="<?= $r['id_dobavljaca'] ?>">
                <?= $r['naziv_dobavljaca'] ?>
            </option>
        <?php } ?>
    </select>

    <br><br>

    <label>Grupa artikala:</label>
    <select id="grupa_artikala">
        <option value="">-- Odaberi grupu --</option>
        <?php while ($g = $grupe->fetch_assoc()) { ?>
            <option value="<?= $g['id_grupe'] ?>">
                <?= $g['naziv_grupe'] ?>
            </option>
        <?php } ?>
    </select>

    <table>
        <thead>
            <tr>
                <th>Artikl</th>
                <th>Količina</th>
                <th>Cijena</th>
                <th>Popust (%)</th>
                <th>PDV (%)</th>
                <th>Ukupno</th>
                <th>Akcija</th>
            </tr>
        </thead>
        <tbody id="stavke_ulaza"></tbody>
    </table>

    <button type="button" id="dodaj_stavku">Dodaj stavku</button>

    <h3>Rekapitulacija</h3>
    <p>Ukupno: <span id="ukupno">0.00</span> KM</p>
    <p>Ukupni popust: <span id="ukupni_popust">0.00</span> KM</p>
    <p>Ukupno PDV: <span id="ukupno_pdv">0.00</span> KM</p>
    <p>Ukupno za platiti: <span id="za_platiti">0.00</span> KM</p>

    <br>
    <input type="submit" value="Sačuvaj ulaz">
</form>

<script>
$(document).ready(function() {
    let originalOptionHtml = '<option value="">Odaberi artikl</option>';

    // Kad promijeniš grupu, dohvaćamo artikle
    $("#grupa_artikala").change(function() {
        let id_grupe = $(this).val();
        if (id_grupe) {
            $.post("dohvati_artikle.php", { id_grupe: id_grupe }, function(data) {
                $(".artikl_select").each(function() {
                    let selectedValue = $(this).val();
                    let currentOptions = $(this).html();
                    $(this).html(originalOptionHtml + data + currentOptions);
                    $(this).val(selectedValue);
                });
            }).fail(function() {
                console.log("Greška pri dohvatanju artikala.");
            });
        }
    });

    // Dodavanje novog reda
    $("#dodaj_stavku").click(function() {
        let row = `<tr>
            <td>
                <select class="artikl_select" name="artikl[]">
                    ${originalOptionHtml}
                </select>
            </td>
            <td><input type="number" name="kolicina[]" class="kolicina" value="1"></td>
            <td><input type="number" name="cijena[]" class="cijena" step="0.01"></td>
            <td><input type="number" name="popust[]" class="popust" step="0.01" value="0"></td>
            <td><input type="number" name="pdv[]" class="pdv" step="0.01" value="17"></td>
            <td class="ukupno_stavka">0.00</td>
            <td><button type="button" class="obrisi">Obriši</button></td>
        </tr>`;
        $("#stavke_ulaza").append(row);
    });

    // Promjena artikla, količine, cijene, popusta ili pdv => izračun
    $(document).on("change", ".artikl_select", function() {
        let row = $(this).closest("tr");
        let cijena = $(this).find(":selected").data("cijena");
        if (cijena) {
            row.find(".cijena").val(cijena);
        }
        izracunajStavku(row);
        azurirajRekapitulaciju();
    });

    $(document).on("input", ".kolicina, .cijena, .popust, .pdv", function() {
        izracunajStavku($(this).closest("tr"));
        azurirajRekapitulaciju();
    });

    // Brisanje reda
    $(document).on("click", ".obrisi", function() {
        $(this).closest("tr").remove();
        azurirajRekapitulaciju();
    });

    function izracunajStavku(row) {
        let kolicina = parseFloat(row.find(".kolicina").val()) || 0;
        let cijena   = parseFloat(row.find(".cijena").val()) || 0;
        let popust   = parseFloat(row.find(".popust").val()) || 0;
        let pdv      = parseFloat(row.find(".pdv").val()) || 0;

        let osnovica = kolicina * cijena;
        let osnovicaSaPopustom = osnovica - (osnovica * popust / 100);
        let iznosPdv = osnovicaSaPopustom * (pdv / 100);
        let ukupnoSaPdv = osnovicaSaPopustom + iznosPdv;

        row.find(".ukupno_stavka").text(ukupnoSaPdv.toFixed(2));
    }

    function azurirajRekapitulaciju() {
        let suma = 0;
        $(".ukupno_stavka").each(function() {
            suma += parseFloat($(this).text()) || 0;
        });
        // Ovdje možeš dodatno računati popuste, PDV itd. 
        $("#ukupno").text(suma.toFixed(2));
        // i eventualno: #ukupni_popust, #ukupno_pdv, #za_platiti...
    }
});
</script>

</body>

</html>
